The Graphについて
etherscanなどのingestion serviceはオンチェーン情報を一箇所に集めて公開している
これは誰でも検証はできるけど、分散的ではないので、ユーザー彼らを信頼してオンチェーン情報を入手することになる
そこで、完全に分散的にオンチェーン情報を得ることができるようにしたのがThe graph
https://scrapbox.io/files/625407cbe3924b001dbab3ce.png
何ができるのかというと...
オンチェーンデータを整理し、簡単にアクセスできるようにするためのサービス、プロトコル
Ethereumのパブリックブロックチェーン上の様々なアクティビティを整理して参照しやすくできる
The Graphは数多くのAPIを提供しており、例えばある分散型取引所で取引された数や最終価格や、あるスマートコントラクトに対するトランザクション数など、様々なデータを提供している
彼らはAPI and query layerと呼んでいる
開発者は以下の二つの方法でネットワークに参加する
自分でグラフノードを動かす
the graphがホストするサービスを利用する
Sub graph
サブグラフ=Ethereumネットワークの断片的な記録?
1つのdAppsは、1つまたは複数のサブグラフを利用することができる。
また、1つのサブグラフは他のサブグラフから構成されうる
アプリケーションが関心を持つ可能性のあるデータの統合ビューを提供するもの
既にUniswap、Compound、Balancer、ENSなどのプロトコルのサブグラフを簡単に見つけることができるエクスプローラーが用意されている
例えばUniswapのサブグラフは、プロトコルが開始されて以来、すべての取引ペアにわたる総量、取引ペアごとの量データ、特定のトークンや取引に関するデータなど、多くの有用なデータへのアクセスを提供している
ネットワーク参加者
https://scrapbox.io/files/625401f30b13a1001fdc547d.png
Indexer(サブグラフ作る人)
任意のIndexerがGraph Token(GRT)を出資してネットワークに参加し、サブグラフのインデックス作成に対する報酬と、それらのサブグラフに対するクエリーの提供に対する手数料を得ることができる
IndexerはThe Graphのノードオペレータであり、金銭的な報酬を得ることがモチベーションとなる。
Consumers(GRTを払ってクエリ投げる人)
Consumersは、この多様なIndexerの集合に対して、計測された使用量を支払うことでクエリを行うことができ、需要と供給の法則がプロトコルによって提供されるサービスを維持する
これらは通常エンドユーザーであるが、The Graphと統合するウェブサービスやミドルウェアである可能性もある。
Curator(良さげなサブグラフを提案する人?)
CuratorはGRTを使用して、インデックスを作成する価値のあるサブグラフを通知する。
Curatorは通常、開発者であり、信頼する価値あるサービスをサポートするエンドユーザーや、純粋に金銭的な動機を持つペルソナである可能性もある
基本的にIndexerとCuratorが分散的な情報を提供しているってこと
Delegator(よくわからない人)
個人的にグラフノードを実行することなく、Indexerの報酬と手数料の一部を得るために、Indexerの代理として GRT を危険にさらす。彼らは金銭的な動機付けがある。
indexerが払うGRTを肩代わりしてあげる感じ?
他の人たち
Indexerが悪さ(正しくないインデックスを公開するなど)をした時に罰則を与えたりする役割
全体としてはこんな感じ
https://scrapbox.io/files/625409d550c220001df02d1a.png
1. まずIndexerに新しいサブグラフのインデックス作成を促すために、Curatorが介入し、新しいサブグラフがインデックス作成に値すると合図する(signal)
ここで、2つの選択肢がある
新しい交換が多くの可能性を秘めた期待のプロジェクトであった場合
既存のCuratorが介入し、新しいサブグラフの有用性を示すために彼らのGRTトークンを使用する可能性が高い
そのサブグラフが人気を博せば、Curatorはそのシグナリングから金銭的な利益を得ることができる。
新しい取引所があまり期待されていない場合
プロジェクトの背後にいる開発者が自らCuratorとなり、GRTを使ってIndexerを奨励することができます。
2. これが実現すると、Indexersはサブグラフのインデックス付けを開始する
>このプロセスは、インデックスを作成するデータの量によって、数時間から数日かかる可能性がある
3. インデックス作成が完了すると、Consumersはサブグラフへのクエリができるようになる
Consumersが発行する各クエリは、クエリーエンジン(歯車)によって処理される。この際にGRTでの支払いを必要とする
クエリエンジンは、どのIndexerと取引を行うかなどの判断を行う取引エンジンとしても機能する
複数のIndexerが競合してサブグラフを作る
このプロセスを円滑にするために、The GraphはConsumersとIndexersの間にpayment chanelを使用している
4. もし、Indexerが不正確な結果を提供した場合は、紛争処理を開始する。
アーキテクチャ
https://scrapbox.io/files/625409c7c2983800239b49bc.png
https://scrapbox.io/files/625402ab2b35890020fea2c7.png